package com.ant.business.system.service;

import com.ant.business.system.entity.User;
import com.ant.common.utils.FastMap;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 用户管理Service接口
 * @author
 * @description
 * @create 2021-03-22 14:25:56
 **/
public interface UserService extends IService<User> {

    /**
     * 分页查询列表
     * @param page
     * @param limit
     * @param param
     * @return
     */
    PageInfo<User> getList(int page, int limit, FastMap param);

    /**
     * 新增信息
     * @param user
     */
    void saveOne(User user);

    /**
     * 修改信息
     * @param user
     */
    void update(User user);

    /**
     * 删除信息
     * @param primaryKey
     */
    void delete(String primaryKey);

    /**
     * 通过电话获取用户
     * @param mobile
     * @param password
     * @return
     */
    List<User> getUserByMobile(String mobile, String password);

    /**
     * 修改密码
     * @param oldPassword
     * @param newPassword
     */
    void changePassword(String oldPassword, String newPassword);

    /**
     * 查询所有用户不分页
     * @param param
     * @return
     */
    List<User> getAllList(FastMap param);

    /**
     * 通过角色查询用户列表
     * @param roleId
     * @return
     */
    List<User> getUserByRoleId(Integer roleId);

    /**
     * 跳过密码验证
     *
     * @param mobile
     * @return
     */
    List<User> getUserNoPass(String mobile);

    /**
     * 获取模块信息
     *
     * @return
     */
    List<FastMap> getModuleInfo();
}